草庐IT

Swift 可选链

全部标签

c# - 使用 .NET 自定义序列化时测试可选字段

给定这样一个类:[Serializable]publicclassMyClass{stringname;stringaddress;publicMyClass(SerializationInfoinfo,StreamingContextcontext){name=info.GetString("name");if(/*todo:checkifavalueforaddressexists*/)address=info.GetString("address");}publicvoidGetObjectData(SerializationInfoinfo,StreamingContextco

c# - 可选参数后跟 Params

这个问题在这里已经有了答案:C#4.0,optionalparametersandparamsdonotworktogether(3个答案)关闭9年前。所以我看到可以有一个方法签名,其中第一个参数提供默认值,第二个参数是参数集合。我看不到的是实际使用第一个参数的默认值的方法。有可能吗?示例方法:voidWaitAllTask​​s(stringmessage="RunningTask.WaitAll",paramsTask[]tasks);我最初尝试在调用方法时省略消息参数,还尝试使用命名参数,这不适用于params。可以编译,但可以使用吗?

C# 4.0 可选参数 - 如何指定类型为 "Guid"的可选参数?

这是我的方法:publicvoidSomeQuery(stringemail="",GuiduserId=Guid.Empty){//dosomequery}userId给我一个错误,因为它必须是一个编译时常量,我明白这一点。但即使我声明了一个常量:privateconstemptyGuid=Guid.Empty;然后将方法签名更改为:publicvoidSomeQuery(stringemail="",GuiduserId=emptyGuid){//dosomequery}仍然没有爱。我错过了什么? 最佳答案 您是否尝试过将其设置

c# - 我们如何在 C#.net 中声明可选参数?

这个问题在这里已经有了答案:CanIgiveadefaultvaluetoparametersoroptionalparametersinC#functions?(6个答案)关闭9年前。我正在使用一种方法来执行某些操作,我希望通过使用C#中的可选参数只编写一次该方法,除了方法重载之外还有其他方法吗?

c# - if 子句中的可选空合并

这个问题在这里已经有了答案:Nullpropagationoperator,outparametersandfalsecompilererrors?(3个答案)关闭3年前。我的一位同事刚刚遇到了一个有趣的问题。我用下面的简单示例代码重现了这个问题。问题是编译器提示i在第三行使用时可能没有被赋值。我知道GetProperty不会被执行,如果o是null,那么i就不会执行被初始化,但在那种情况下我也不会评估inti2=i;。是否有关于可选值或空合并运算符的东西我不知道这与这里相关,或者这只是编译器不够智能的情况,无法知道i如果它不被使用没有初始化?voidTest(objecto){if(

c# - 这是 C# 4.0 编译器可选参数错误吗?

我正在编写自定义安全属性并出现奇怪的编译器行为...当我在同一个文件中使用该属性时,默认参数值工作正常:usingSystem.Security.Permissions;[System.Serializable]sealedclassFooAttribute:CodeAccessSecurityAttribute{publicFooAttribute(SecurityActionaction=SecurityAction.Demand):base(action){}publicoverrideSystem.Security.IPermissionCreatePermission(){r

c# - 具有一个强制参数和一个可选参数的 ASP.NET MVC 路由?

在过去一个月左右的时间里,我一直在开发大型MVC应用程序,但这是我第一次需要定义自定义路由处理程序,而且我遇到了一些问题。基本上我有两个参数要传递。第一个是必需的,第二个是可选的。我正在关注这个答案here.这是我的自定义路线:routes.MapRoute("MyRoute","{controller}/{action}/{param1}/{param2}",new{controller="MyController",action="MyAction",param1="",param2=""//Ihavealsotried"UrlParameter.Optional"here.});

c# - 如何处理 null 或可选的 DLL 结构参数

如何处理使用pinvoke从C#调用的dll方法中的可选struct参数?例如,lpSecurityAttributesparameterhere不存在时应传递null。传递struct的正确方法似乎是使用ref,但它不能有可选参数,或者通常采用null.有什么方法可以实现? 最佳答案 你有几个选择1)使用class而不是struct我觉得这个方法最简单。只需声明struct作为class:[StructLayout(LayoutKind.Sequential)]publicclassCStruct{//member-list}然后

c# - Action 作为函数中的可选参数

这个问题在这里已经有了答案:OptionaldelegatesinC#[duplicate](4个答案)关闭9年前。是否可以将Action作为函数中的可选参数?button2Action应该是可选的。publicvoidDrawWindow(Rectp_PositionAndSize,stringp_Button2Text="NotInUse",Actionp_Button2Action){//Stuffhappenshere}我用例如p_Button2Action=delegate{Debug.Log("NotInUse");试过了}但它不会编译,因为p_Button2Action的

c# - 通用方法和可选参数

是否可以写出类似的结构?我想以某种方式为类型T的参数设置默认值。privateTGetNumericVal(stringsColName,TdefVal=0){stringsVal=GetStrVal(sColName);TnRes;if(!T.TryParse(sVal,outnRes))returndefVal;returnnRes;}此外,我还找到了以下链接:GenerictypeconversionFROMstring我想,这段代码一定可以工作privateTGetNumericVal(stringsColName,TdefVal=default(T))whereT:IConv